Understanding Computer Programming

Osher Lifelong Learning Institute
University of Illinois, Urbana-Champaign

Scott Badman, Instructor


Topic: Network Based Programming - applications, apps, and HTML

March 3, 2016


The principle differences between different types of programs is the environment in which they run, not in the basic principles of programming. The principle environments are:


Mainframes and Terminals

The programs run on a mainframe computer and interact with the user through a input/output terminal that is not itself a computer.
Originally they didn't use an open network; rather they connected directly to the mainframe over telephone lines.
This system is functionally obsolete, except it lives on through personal computers that emulate terminals connecting over the Internet to the mainframe, because the mainframe programs are still very useful.

Example: State Farm is still very much an IBM mainframe system.


Applications

Programs that run on a computer and interact with the user on that computer.
If they use the network, it is usually through another program such as e-mail.

Example: Microsoft Office


Web Pages

Originally the World Wide Web (the "www" in front of web addresses) was simply an open network that displayed information on the user's personal computer in the form of text, pictures, and, later, audio and video. The programs that exchanged the information were the "Browser" on the user's computer, which connected with multiple "Server" programs on distant computers.

HyperText Markup Language (HTML) specifies the various ways the text, pictures, audio, and video will be displayed on the screen. It does this by embedding "markup" tags into the text. Most of these tags are contained inside of angle brackets, < and >. HTML is not a programming language. It can not do IF-THEN-ELSE or WHILE loops. The web page your are reading now is written in HTML. It contains no programming.

As the Internet became more popular, there was a need to add true programming on both the Browser side, the Server side, or both. The three most popular solutions are JavaScript (no relation to Java), PHP, and Perl. All three are true programming languages that allow program fragments to be added to HTML. We will see how JavaScript works a little later.

Example: This web page.


Apps

An app runs on your device and usually communicates only with a specific web server dedicated to serving that specific app.

The primary difference between desktop applications and apps is the distributed nature of the app, because it usually depends on the server for part of its data processing.

An app, therefore, is a cross between a desktop application and a web page. The difference between an app and a web page is the dedicated nature of the app to one specific task, working with one specific server.

From a programmer's viewpoint, however, there is little difference between an App and a traditional application. The difference is mostly in the restrictions that are placed on Apps by the Operating Systems they run on - mainly iOS, Android, or Windows 8.1 and 10 (Windows 7 does not run Apps). These restrictions include:

Apps are usually only obtained by downloading from the operating system's "store". This allows the parent company to check Apps to make sure they work properly and are free of malware.

Apps install themselves effortlessly because there is no installation media such as CD-ROMs, and they are tightly synced with their specific operating system.

Apps usually communicate with secure encryption only to a specific server designed for that App. This prevents malware from entering the system and being propagated.

Apps usually update themselves automatically, assuring all the latest improvements and security updates are installed.

Apps are single purpose programs aimed at very specific users. The tend to be smaller and easier to program than general purpose applications.

Examples: Kindle Reader, Instagram



Understanding Computer Programming

Osher Lifelong Learning Institute
University of Illinois, Urbana-Champaign

Scott Badman, Instructor